package br.com.toscano.contpedido.view.servlet;

import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.toscano.contpedido.domain.Pedido;
import br.com.toscano.contpedido.domain.PedidoProduto;
import br.com.toscano.contpedido.util.Util;
import br.com.toscano.contpedido.view.servlet.relatorio.ConstantesRelatorio;
import br.com.toscano.contpedido.view.servlet.relatorio.DadosRelatorioPedido;
import br.com.toscano.contpedido.view.servlet.relatorio.GeraDadosRelatorio;
import br.com.toscano.contpedido.view.servlet.relatorio.RelatorioDataSource;

public class ExibePedidoPDFServlet  extends HttpServlet {
	private static final long serialVersionUID = 1L;

//	public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//		
//		Pedido pedido = (Pedido)request.getSession().getAttribute("pedido");
//		Long idPedido = null;
//		if (request.getParameter("idPedido") != null) 
//			idPedido = new Long (request.getParameter("idPedido"));
//
//		List<Pedido> pedidos = (List<Pedido>)request.getSession().getAttribute("pedidos");
//		if (pedido == null ) {
//			if (pedidos != null) {
//				for(Pedido p : pedidos) {
//					if (p.getId().equals(idPedido)){
//						pedido = p;
//						break;
//					}
//				}
//			}
//		}
//		
//		List arraylist = new ArrayList();
//		if (pedido == null) {
//			DadosRelatorioPedido dados = new DadosRelatorioPedido();
//			dados.setDescricao("");
//			dados.setQuantidade("");
//			dados.setValorUnitario("");
//			dados.setValorItem("");
//			
//			arraylist.add(dados);
//		} else {
//			for (PedidoProduto pp : pedido.getListaPedidoProduto()) {
//
//				DadosRelatorioPedido dados = new DadosRelatorioPedido();
//				dados.setDescricao(pp.getProduto().getDescricao());
//				dados.setQuantidade(Util.formataValorParaString(pp.getQuantidade(),2));
//				dados.setValorUnitario(Util.formataValorParaString(pp.getValorUnitario(),2));
//				dados.setValorItem(Util.formataValorParaString(pp.getValorTotalItem(),2));
//				
//				arraylist.add(dados);
//			}
//		}
//
//		try {
//			
//			String jasper = ConstantesRelatorio.RELATORIO_PEDIDO;
//			
//			// Seta os parâmetros do Relatório
//			Map<String,Object> parametros = new HashMap<String,Object>();
//
//			parametros.put("url", Util.getUrlBase(request));
//			parametros.put("realeza-logo", "/img/realeza-logo.gif");
//			parametros.put("municipio-logo", "/img/municipio-logo.gif");
//			
//			int tipo = ConstantesRelatorio.TIPO_PDF;
//			
//			byte[] dados = GeraDadosRelatorio.gerarRelatorio(jasper, parametros, new RelatorioDataSource(arraylist), tipo);
//
//			response.addHeader("Content-Disposition",
//					"inline; filename=ficha_obra.pdf");
//
//			response.setContentType("application/pdf");
//
//			response.setContentLength(dados.length);
//
//			OutputStream output = response.getOutputStream();
//
//			output.write(dados);
//
//			output.flush();
//
//			output.close();
//
//		} catch (Exception e) {
//			e.printStackTrace();
//			System.out.println(e.getLocalizedMessage());
//			OutputStream output = response.getOutputStream();
//
//			output.write(("Erro! entre em contato com o Administrador!" + e.getMessage()).getBytes());
//
//			output.flush();
//
//			output.close();
//		}
//	}
}